using System;

public enum MapLayers
{
    Floor = 1,
    Floor_Items =2,
    Monsters = 3,
    Waypoints = 4,
    Wall_Items = 5
}

public enum CarryLocations
{
    RightHand = 0,
    LeftHand = 1, //weapon hand?
    Head = 2,
    Body = 3,
    Legs = 4,
    Feet = 5,
    Quiver_A = 6,
    Quiver_B = 7,
    Quiver_C = 8,
    Quiver_D = 9,
    Necklace = 10,
    Belt_A = 11,
    Belt_B = 12,

    //inventory
    //     13, 14, 15, 16, 17, 18, 19, 20
    // 21, 22, 23, 24, 25, 26, 27, 28, 29

    Inv_13 = 13,
    Inv_14 = 14,
    Inv_15 = 15,
    Inv_16 = 16,
    Inv_17 = 17,
    Inv_18 = 18,
    Inv_19 = 19,
    Inv_20 = 20,
    Inv_21 = 21,
    Inv_22 = 22,
    Inv_23 = 23,
    Inv_24 = 24,
    Inv_25 = 25,
    Inv_26 = 26,
    Inv_27 = 27,
    Inv_28 = 28,
    Inv_29 = 29
}

public enum PossibleDirectionsToGo
{
    Forward = 0,
    Backward = 1,
    Right = 2,
    Left = 3
}

public enum StairsDirection
{
    Up = 1,
    Down = 2
}

public enum DoorDirection
{
    WE = 1,
    NS = 2,
}

/// <summary>
/// Tile can be directional. For example stairs.
/// </summary>
public enum TileVector
{ 
    None = 0,
    NS = 1,
    EW = 2,
    SN = 3,
    WE = 4
}

public enum ObjectPosition
{
    None = 0,
    North = 1,
    West = 2,
    South = 3,
    East = 4,
    Center = 5,
	
    NorthWest = 6,
    NorthEast = 7,
    SouthWest = 8,
    SouthEast = 9
	
}


public enum Directions
{
    North = 0,
    East = 1,
    South = 2,
    West = 3
}

public enum EffectType
{
    None = 0,
    Instant = 1,
    Pump = 2
}

public enum Sex
{
    Male = 0,
    Female = 1
}

[Flags]
public enum ItemType
{
	/// <summary>
	/// None
	/// </summary>
    None = 0x0,

	/// <summary>
	/// Sharp weapon
	/// </summary>
    Sword = 0x1,
	
	/// <summary>
	/// Staff
	/// </summary>
    Staff = 0x2,

	/// <summary>
	/// Blunt weapon
	/// </summary>
    Club = 0x4,
	
	/// <summary>
	/// Shooting weapon
	/// </summary>
    Bow = 0x8,
	
	/// <summary>
	/// Sharp and blunt weapon
	/// </summary>
    Axe = 0x10,

	/// <summary>
	/// Items with this flags can be used as ammo
	/// </summary>
    Ammo = 0x20,

    Helm = 0x40,
    Torso = 0x80,
    Legs = 0x100,
    Boots = 0x200,
    Neck = 0x400,

    Shield = 0x800,
    Valuable = 0x1000,              //Container: Money Box(coin and gems)
    Scroll = 0x2000,                
    Flask = 0x4000,                 
    Food = 0x8000,                  
    Key = 0x10000,                   //Container: KeyRing, lockpick also belongs here, prepared for keyring



    ItemContainer = 0x20000,

    Herb = 0x80000,

    Accesory = 0x100000,
	
	FloorItem = 0x200000,
	WallItem = 0x400000,
	CeilItem = 0x800000
}

public enum AmmoType
{
    None = 0,
    Arrows = 1,
    Rocks = 2,
    Darts = 3,
    Stars = 4,
    Daggers = 5
    
}

public enum DamageType
{
    /// <summary>
    /// The creature does not attack champions. This value is set for the Giggler. 
    /// This value is used elsewhere for damages when stamina is 0.
    /// </summary>
    NoDamage = 0,

    /// <summary>
    /// The attacked champion's 'Anti-Fire' characteristic is used to compute damage.
    /// </summary>
    FireDamage = 1,

    /// <summary>
    /// The 'Armor Strength' value of the attacked champion's armor is used to compute damage, but its value is halved. 
    /// This is never used in the original game but can be used in custom games. 
    /// This value is used elsewhere for example when bumping in a wall.
    /// </summary>
    CriticalDamage = 2,

    /// <summary>
    /// The 'Armor Strength' value of the attacked champion's armor is used to compute damage.
    /// </summary>
    NormalDamage = 3,

    /// <summary>
    /// The 'Sharp resistance' value of the attacked champion's armor is used to compute damage.
    /// </summary>
    SharpDamage = 4,

    /// <summary>
    ///  The attacked champion's 'Anti-Magic' characteristic is used to compute damage.
    /// </summary>
    MagicDamage = 5,

    /// <summary>
    ///  The attacked champion's 'Wisdom' characteristic is used to compute damage.
    /// </summary>
    PsychicDamage = 6,

    
}
